TSTP Solution File: GRA029^1 by cocATP---0.2.0

View Problem - Process Solution

%------------------------------------------------------------------------------
% File     : cocATP---0.2.0
% Problem  : GRA029^1 : TPTP v6.1.0. Released v3.6.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p

% Computer : n117.star.cs.uiowa.edu
% Model    : x86_64 x86_64
% CPU      : Intel(R) Xeon(R) CPU E5-2609 0 2.40GHz
% Memory   : 32286.75MB
% OS       : Linux 2.6.32-431.20.3.el6.x86_64
% CPULimit : 300s
% DateTime : Thu Jul 17 13:22:13 EDT 2014

% Result   : Timeout 300.01s
% Output   : None 
% Verified : 
% SZS Type : None (Parsing solution fails)
% Syntax   : Number of formulae    : 0

% Comments : 
%------------------------------------------------------------------------------
%----NO SOLUTION OUTPUT BY SYSTEM
%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% % Problem  : GRA029^1 : TPTP v6.1.0. Released v3.6.0.
% % Command  : python CASC.py /export/starexec/sandbox/benchmark/theBenchmark.p
% % Computer : n117.star.cs.uiowa.edu
% % Model    : x86_64 x86_64
% % CPU      : Intel(R) Xeon(R) CPU E5-2609 0 @ 2.40GHz
% % Memory   : 32286.75MB
% % OS       : Linux 2.6.32-431.20.3.el6.x86_64
% % CPULimit : 300
% % DateTime : Thu Jul 17 07:37:41 CDT 2014
% % CPUTime  : 300.01 
% Python 2.7.5
% Using paths ['/home/cristobal/cocATP/CASC/TPTP/', '/export/starexec/sandbox/benchmark/', '/export/starexec/sandbox/benchmark/']
% FOF formula ((ex ((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))) (fun (G:((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop)))=> ((and ((and (forall (Xx:(Prop->(Prop->Prop))) (Xy:(Prop->(Prop->Prop))), (((G Xx) Xy)->((G Xy) Xx)))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((G Xx1) Xx0)->False)) (((G Xx2) Xx0)->False))) (((G Xx2) Xx1)->False))) (((G Xx3) Xx0)->False))) (((G Xx3) Xx1)->False))) (((G Xx3) Xx2)->False)))))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or ((G Xx1) Xx0)) ((G Xx2) Xx0))) ((G Xx2) Xx1))) ((G Xx3) Xx0))) ((G Xx3) Xx1))) ((G Xx3) Xx2))))))) of role conjecture named ramsey_l_4_4_16
% Conjecture to prove = ((ex ((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))) (fun (G:((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop)))=> ((and ((and (forall (Xx:(Prop->(Prop->Prop))) (Xy:(Prop->(Prop->Prop))), (((G Xx) Xy)->((G Xy) Xx)))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((G Xx1) Xx0)->False)) (((G Xx2) Xx0)->False))) (((G Xx2) Xx1)->False))) (((G Xx3) Xx0)->False))) (((G Xx3) Xx1)->False))) (((G Xx3) Xx2)->False)))))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or ((G Xx1) Xx0)) ((G Xx2) Xx0))) ((G Xx2) Xx1))) ((G Xx3) Xx0))) ((G Xx3) Xx1))) ((G Xx3) Xx2))))))):Prop
% We need to prove ['((ex ((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))) (fun (G:((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop)))=> ((and ((and (forall (Xx:(Prop->(Prop->Prop))) (Xy:(Prop->(Prop->Prop))), (((G Xx) Xy)->((G Xy) Xx)))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((G Xx1) Xx0)->False)) (((G Xx2) Xx0)->False))) (((G Xx2) Xx1)->False))) (((G Xx3) Xx0)->False))) (((G Xx3) Xx1)->False))) (((G Xx3) Xx2)->False)))))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or ((G Xx1) Xx0)) ((G Xx2) Xx0))) ((G Xx2) Xx1))) ((G Xx3) Xx0))) ((G Xx3) Xx1))) ((G Xx3) Xx2)))))))']
% Trying to prove ((ex ((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))) (fun (G:((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop)))=> ((and ((and (forall (Xx:(Prop->(Prop->Prop))) (Xy:(Prop->(Prop->Prop))), (((G Xx) Xy)->((G Xy) Xx)))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((G Xx1) Xx0)->False)) (((G Xx2) Xx0)->False))) (((G Xx2) Xx1)->False))) (((G Xx3) Xx0)->False))) (((G Xx3) Xx1)->False))) (((G Xx3) Xx2)->False)))))) (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or ((G Xx1) Xx0)) ((G Xx2) Xx0))) ((G Xx2) Xx1))) ((G Xx3) Xx0))) ((G Xx3) Xx1))) ((G Xx3) Xx2)))))))
% Found x01:((Xp2 Xx3)->False)
% Instantiate: x:=(fun (x2:(Prop->(Prop->Prop))) (x10:(Prop->(Prop->Prop)))=> (Xp2 x2)):((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))
% Found x01 as proof of (((x Xx3) Xx2)->False)
% Found (or_intror00 x01) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found ((or_intror0 (((x Xx3) Xx2)->False)) x01) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (fun (x01:((Xp2 Xx3)->False))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01)) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01)) as proof of (((Xp2 Xx3)->False)->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)))
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01)) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found (and_rect00 (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found ((and_rect0 ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (fun (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) x01)))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found x0000:=(x000 x0):False
% Found (x000 x0) as proof of False
% Found ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0) as proof of False
% Found ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0) as proof of False
% Found (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)) as proof of False
% Found (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)) as proof of (((x Xx3) Xx2)->False)
% Found (or_intror00 (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found ((or_intror0 (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (fun (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of ((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))
% Found (fun (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)))
% Found (fun (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (forall (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found (fun (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (forall (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found (fun (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (forall (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found (fun (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (forall (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found (fun (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (forall (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found (fun (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (forall (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found (fun (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)) (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_intror ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False)) (fun (x00:((x Xx3) Xx2))=> ((((((x00 Xp0) Xx0) Xp2) Xp1) Xx1) x0)))) as proof of (forall (Xx0:(Prop->(Prop->Prop))) (Xx1:(Prop->(Prop->Prop))) (Xx2:(Prop->(Prop->Prop))) (Xx3:(Prop->(Prop->Prop))) (Xp0:((Prop->(Prop->Prop))->Prop)) (Xp1:((Prop->(Prop->Prop))->Prop)) (Xp2:((Prop->(Prop->Prop))->Prop)), (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False))->((or ((or ((or ((or ((or (((x Xx1) Xx0)->False)) (((x Xx2) Xx0)->False))) (((x Xx2) Xx1)->False))) (((x Xx3) Xx0)->False))) (((x Xx3) Xx1)->False))) (((x Xx3) Xx2)->False))))
% Found False_rect00:=(False_rect0 ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))):((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (False_rect0 ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (or_comm_i00 ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found ((or_comm_i0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (((or_comm_i ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (((or_comm_i ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found False_rect00:=(False_rect0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))):((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (False_rect0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (or_intror00 ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found ((or_intror0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found False_rect00:=(False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))):((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (or_comm_i00 ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((or_comm_i0 ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found False_rect00:=(False_rect0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))):((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (False_rect0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (or_intror00 ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found ((or_intror0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found False_rect00:=(False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))):((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (or_comm_i00 ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((or_comm_i0 ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found x03:(Xp2 Xx2)
% Instantiate: x:=(fun (x2:(Prop->(Prop->Prop))) (x10:(Prop->(Prop->Prop)))=> (Xp2 x2)):((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))
% Found (fun (x03:(Xp2 Xx2))=> x03) as proof of ((x Xx2) Xx1)
% Found (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03) as proof of ((Xp2 Xx2)->((x Xx2) Xx1))
% Found (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->((x Xx2) Xx1)))
% Found (and_rect10 (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found ((and_rect1 ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found (fun (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of ((x Xx2) Xx1)
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of (((Xp2 Xx3)->False)->((x Xx2) Xx1))
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->((x Xx2) Xx1)))
% Found (and_rect00 (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found ((and_rect0 ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found (or_intror00 (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found ((or_intror0 ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (or_introl20 (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found ((or_introl2 ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (or_introl10 (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((or_introl1 ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (or_introl00 (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found ((or_introl0 ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (fun (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found x03:(Xp2 Xx2)
% Instantiate: x:=(fun (x2:(Prop->(Prop->Prop))) (x10:(Prop->(Prop->Prop)))=> (Xp2 x2)):((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))
% Found (fun (x03:(Xp2 Xx2))=> x03) as proof of ((x Xx2) Xx1)
% Found (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03) as proof of ((Xp2 Xx2)->((x Xx2) Xx1))
% Found (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->((x Xx2) Xx1)))
% Found (and_rect10 (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found ((and_rect1 ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found (or_intror00 (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found ((or_intror0 ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (or_introl20 (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found ((or_introl2 ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (or_introl10 (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((or_introl1 ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (or_introl00 (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found ((or_introl0 ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (fun (x01:((Xp2 Xx3)->False))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of (((Xp2 Xx3)->False)->((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)))
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))))
% Found (and_rect00 (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found ((and_rect0 ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (fun (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((or_introl ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2)) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found False_rect00:=(False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))):((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (or_comm_i10 ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((or_comm_i1 ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found False_rect00:=(False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))):((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (False_rect0 ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))) as proof of ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)))
% Found (or_comm_i10 ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((or_comm_i1 ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_comm_i ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((fun (P:Type)=> ((False_rect P) x010)) ((or ((x Xx3) Xx1)) ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found x03:(Xp2 Xx2)
% Instantiate: x:=(fun (x2:(Prop->(Prop->Prop))) (x10:(Prop->(Prop->Prop)))=> (Xp2 x2)):((Prop->(Prop->Prop))->((Prop->(Prop->Prop))->Prop))
% Found (fun (x03:(Xp2 Xx2))=> x03) as proof of ((x Xx2) Xx1)
% Found (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03) as proof of ((Xp2 Xx2)->((x Xx2) Xx1))
% Found (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->((x Xx2) Xx1)))
% Found (and_rect10 (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found ((and_rect1 ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)) as proof of ((x Xx2) Xx1)
% Found (fun (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of ((x Xx2) Xx1)
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of (((Xp2 Xx3)->False)->((x Xx2) Xx1))
% Found (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->((x Xx2) Xx1)))
% Found (and_rect00 (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found ((and_rect0 ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))) as proof of ((x Xx2) Xx1)
% Found (or_intror10 (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found ((or_intror1 ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))) as proof of ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))
% Found (or_introl10 (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found ((or_introl1 ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))) as proof of ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))
% Found (or_introl00 (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found ((or_introl0 ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))) as proof of ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))
% Found (or_intror00 (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found ((or_intror0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))) as proof of ((or ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)))
% Found (or_comm_i00 (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found ((or_comm_i0 ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (((or_comm_i ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03))))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found (fun (x0:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)))=> (((or_comm_i ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_intror ((x Xx3) Xx2)) ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) (((or_introl ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1)) (((or_introl ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0)) (((or_intror ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1)) (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))->(((Xp2 Xx3)->False)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) ((Xp2 Xx3)->False)) P) x1) x0)) ((x Xx2) Xx1)) (fun (x00:((and ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2))) (x01:((Xp2 Xx3)->False))=> (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) ((x Xx2) Xx1)) (fun (x02:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x03:(Xp2 Xx2))=> x03)))))))))) as proof of ((or ((or ((or ((or ((or ((x Xx1) Xx0)) ((x Xx2) Xx0))) ((x Xx2) Xx1))) ((x Xx3) Xx0))) ((x Xx3) Xx1))) ((x Xx3) Xx2))
% Found False_rect00:=(False_rect0 (Xp2 Xx3)):(Xp2 Xx3)
% Found (False_rect0 (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found False_rect00:=(False_rect0 (Xp2 Xx3)):(Xp2 Xx3)
% Found (False_rect0 (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found False_rect00:=(False_rect0 (Xp2 Xx3)):(Xp2 Xx3)
% Found (False_rect0 (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found False_rect00:=(False_rect0 (Xp2 Xx3)):(Xp2 Xx3)
% Found (False_rect0 (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)) as proof of (Xp2 Xx3)
% Found (fun (x2:(Xp2 Xx2))=> ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3))) as proof of (Xp2 Xx3)
% Found (fun (x1:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x2:(Xp2 Xx2))=> ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3))) as proof of ((Xp2 Xx2)->(Xp2 Xx3))
% Found (fun (x1:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x2:(Xp2 Xx2))=> ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3))) as proof of (((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->(Xp2 Xx3)))
% Found (and_rect10 (fun (x1:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x2:(Xp2 Xx2))=> ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)))) as proof of (Xp2 Xx3)
% Found ((and_rect1 (Xp2 Xx3)) (fun (x1:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x2:(Xp2 Xx2))=> ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)))) as proof of (Xp2 Xx3)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) (Xp2 Xx3)) (fun (x1:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (x2:(Xp2 Xx2))=> ((fun (P:Type)=> ((False_rect P) x010)) (Xp2 Xx3)))) as proof of (Xp2 Xx3)
% Found (((fun (P:Type) (x1:(((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))->((Xp2 Xx2)->P)))=> (((((and_rect ((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp2 Xx1)->False))) (Xp2 Xx2)) P) x1) x00)) (Xp2 Xx3)) (fun (x1:((and ((and ((and ((and ((and ((and ((and ((and ((and (Xp0 Xx0)) ((Xp0 Xx1)->False))) ((Xp0 Xx2)->False))) ((Xp0 Xx3)->False))) ((Xp1 Xx0)->False))) (Xp1 Xx1))) ((Xp1 Xx2)->False))) ((Xp1 Xx3)->False))) ((Xp2 Xx0)->False))) ((Xp
% EOF
%------------------------------------------------------------------------------